	.file	1 "main.c"
	.section .mdebug.abi32
	.previous
	.abicalls
	.rdata
	.align	2
$LC1:
	.ascii	"help\000"
	.align	2
$LC2:
	.ascii	"version\000"
	.align	2
$LC3:
	.ascii	"octal\000"
	.align	2
$LC4:
	.ascii	"binary\000"
	.align	2
$LC5:
	.ascii	"input\000"
	.align	2
$LC6:
	.ascii	"output\000"
	.align	2
$LC7:
	.ascii	"length\000"
	.align	2
$LC8:
	.ascii	"delimiter\000"
	.data
	.align	2
	.type	long_commands.0, @object
	.size	long_commands.0, 144
long_commands.0:
	.word	$LC1
	.word	0
	.word	0
	.word	104
	.word	$LC2
	.word	0
	.word	0
	.word	86
	.word	$LC3
	.word	0
	.word	0
	.word	79
	.word	$LC4
	.word	0
	.word	0
	.word	98
	.word	$LC5
	.word	1
	.word	0
	.word	105
	.word	$LC6
	.word	1
	.word	0
	.word	111
	.word	$LC7
	.word	1
	.word	0
	.word	108
	.word	$LC8
	.word	1
	.word	0
	.word	100
	.word	0
	.word	0
	.word	0
	.word	0
	.rdata
	.align	2
$LC0:
	.ascii	"\000"
	.align	2
$LC9:
	.ascii	"hVObi:o:l:d:\000"
	.align	2
$LC10:
	.ascii	"Usage:\t\t\t\t\t\n"
	.ascii	" tp0 -h\t\t\t\t\t\n"
	.ascii	" tp0 -V\t\t\t\t\t\n"
	.ascii	" tp0 [options]\t\t\t\t\n\n"
	.ascii	" Options:\t\t\t\t\t\n"
	.ascii	" -h, --help \t\tPrint this information.\t\t\t\t\t\n"
	.ascii	" -V, --version \tPrint version and quit.\t\t\t\t\t\n"
	.ascii	" -O, --octal \t\tOctal dump mode: encode the input (bina"
	.ascii	"ry file) in octal format (default).\t\t\t\t\t\n"
	.ascii	" -b, --binary \tBinary mode: decode the input (octal dum"
	.ascii	"p file) in binary format.\t\t\t\t\t\n"
	.ascii	" -i, --input \t\tPath to input file (defaults to stdin)."
	.ascii	"\t\t\t\t\t\n"
	.ascii	" -o, --output \tPath to output file (defaults to stdout)"
	.ascii	").\t\t\t\t\t\n"
	.ascii	" -l, --length \tNumber of octal bytes per line (line len"
	.ascii	"gth) at the output in octal dump mode (0 = default = no "
	.ascii	"limit).\t\t\t\t\t\n"
	.ascii	" -d, --delimiter \tDelimiter between octal bytes. Could "
	.ascii	"be a string, not only a single byte. Used as delimiter f"
	.ascii	"or octal output and input files (default: none).\n\n\000"
	.align	2
$LC11:
	.ascii	"\n"
	.ascii	"Versi\303\263n 1.0 \n\n\000"
	.align	2
$LC12:
	.ascii	"-\000"
	.align	2
$LC13:
	.ascii	"rb\000"
	.align	2
$LC14:
	.ascii	"Archivo de entrada no generado \n\n\000"
	.align	2
$LC15:
	.ascii	"wb\000"
	.align	2
$LC16:
	.ascii	"Archivo de salida no generado \n\n\000"
	.align	2
$LC17:
	.ascii	"Par\303\241metro mal escrito o sin argumento necesario. "
	.ascii	"Utilice -h para ver modo de uso y opciones\000"
	.text
	.align	2
	.globl	main
	.ent	main
main:
	.frame	$fp,80,$ra		# vars= 32, regs= 3/0, args= 24, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,80
	.cprestore 24
	sw	$ra,72($sp)
	sw	$fp,68($sp)
	sw	$gp,64($sp)
	move	$fp,$sp
	sw	$a0,80($fp)
	sw	$a1,84($fp)
	sw	$zero,32($fp)
	sw	$zero,36($fp)
	li	$v0,1			# 0x1
	sw	$v0,40($fp)
	la	$v0,$LC0
	sw	$v0,44($fp)
	sw	$zero,opterr
	la	$v0,__sF
	sw	$v0,48($fp)
	la	$v0,__sF+88
	sw	$v0,52($fp)
$L18:
	sw	$zero,16($sp)
	lw	$a0,80($fp)
	lw	$a1,84($fp)
	la	$a2,$LC9
	la	$a3,long_commands.0
	la	$t9,getopt_long
	jal	$ra,$t9
	sw	$v0,36($fp)
	lw	$v1,36($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L20
	b	$L19
$L20:
	lw	$v0,36($fp)
	addu	$v0,$v0,-63
	sw	$v0,60($fp)
	lw	$v1,60($fp)
	sltu	$v0,$v1,49
	beq	$v0,$zero,$L18
	lw	$v0,60($fp)
	sll	$v1,$v0,2
	la	$v0,$L36
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	.cpadd	$v0
	j	$v0
	.rdata
	.align	2
$L36:
	.gpword	$L34
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L24
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L23
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L25
	.gpword	$L18
	.gpword	$L33
	.gpword	$L18
	.gpword	$L18
	.gpword	$L18
	.gpword	$L22
	.gpword	$L26
	.gpword	$L18
	.gpword	$L18
	.gpword	$L32
	.gpword	$L18
	.gpword	$L18
	.gpword	$L29
	.text
$L22:
	la	$a0,$LC10
	la	$t9,printf
	jal	$ra,$t9
	sw	$zero,56($fp)
	b	$L17
$L23:
	la	$a0,$LC11
	la	$t9,printf
	jal	$ra,$t9
	sw	$zero,56($fp)
	b	$L17
$L24:
	li	$v0,1			# 0x1
	sw	$v0,40($fp)
	b	$L18
$L25:
	sw	$zero,40($fp)
	b	$L18
$L26:
	lw	$a0,optarg
	la	$a1,$LC12
	la	$t9,strcmp
	jal	$ra,$t9
	beq	$v0,$zero,$L18
	lw	$a0,optarg
	la	$a1,$LC13
	la	$t9,fopen
	jal	$ra,$t9
	sw	$v0,48($fp)
	lw	$v0,48($fp)
	bne	$v0,$zero,$L18
	la	$a0,__sF+176
	la	$a1,$LC14
	la	$t9,fprintf
	jal	$ra,$t9
	li	$v0,2			# 0x2
	sw	$v0,56($fp)
	b	$L17
$L29:
	lw	$a0,optarg
	la	$a1,$LC12
	la	$t9,strcmp
	jal	$ra,$t9
	beq	$v0,$zero,$L18
	lw	$a0,optarg
	la	$a1,$LC15
	la	$t9,fopen
	jal	$ra,$t9
	sw	$v0,52($fp)
	lw	$v0,52($fp)
	bne	$v0,$zero,$L18
	la	$a0,__sF+176
	la	$a1,$LC16
	la	$t9,fprintf
	jal	$ra,$t9
	li	$v1,3			# 0x3
	sw	$v1,56($fp)
	b	$L17
$L32:
	lw	$a0,optarg
	la	$t9,atoi
	jal	$ra,$t9
	sw	$v0,32($fp)
	b	$L18
$L33:
	lw	$a0,optarg
	la	$t9,strlen
	jal	$ra,$t9
	addu	$v0,$v0,1
	move	$a0,$v0
	la	$t9,malloc
	jal	$ra,$t9
	sw	$v0,44($fp)
	lw	$a0,44($fp)
	lw	$a1,optarg
	la	$t9,strcpy
	jal	$ra,$t9
	b	$L18
$L34:
	la	$a0,__sF+176
	la	$a1,$LC17
	la	$t9,fprintf
	jal	$ra,$t9
	li	$v0,1			# 0x1
	sw	$v0,56($fp)
	b	$L17
$L19:
	lw	$v0,40($fp)
	beq	$v0,$zero,$L37
	lw	$a0,48($fp)
	lw	$a1,52($fp)
	lw	$a2,32($fp)
	lw	$a3,44($fp)
	la	$t9,codificar
	jal	$ra,$t9
	b	$L38
$L37:
	lw	$a0,48($fp)
	lw	$a1,52($fp)
	lw	$a2,32($fp)
	lw	$a3,44($fp)
	la	$t9,decodificar
	jal	$ra,$t9
$L38:
	lw	$a0,44($fp)
	la	$a1,$LC0
	la	$t9,strcmp
	jal	$ra,$t9
	beq	$v0,$zero,$L39
	lw	$a0,44($fp)
	la	$t9,free
	jal	$ra,$t9
$L39:
	lw	$a0,48($fp)
	la	$t9,fclose
	jal	$ra,$t9
	lw	$a0,52($fp)
	la	$t9,fclose
	jal	$ra,$t9
	sw	$zero,56($fp)
$L17:
	lw	$v0,56($fp)
	move	$sp,$fp
	lw	$ra,72($sp)
	lw	$fp,68($sp)
	addu	$sp,$sp,80
	j	$ra
	.end	main
	.size	main, .-main
	.rdata
	.align	2
$LC18:
	.ascii	"%.*o%s\000"
	.align	2
$LC19:
	.ascii	"\n\000"
	.text
	.align	2
	.globl	codificar
	.ent	codificar
codificar:
	.frame	$fp,64,$ra		# vars= 16, regs= 3/0, args= 24, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,64
	.cprestore 24
	sw	$ra,56($sp)
	sw	$fp,52($sp)
	sw	$gp,48($sp)
	move	$fp,$sp
	sw	$a0,64($fp)
	sw	$a1,68($fp)
	sw	$a2,72($fp)
	sw	$a3,76($fp)
	sw	$zero,36($fp)
	li	$v0,3			# 0x3
	sw	$v0,40($fp)
$L41:
	lw	$v0,64($fp)
	lhu	$v0,12($v0)
	srl	$v0,$v0,5
	andi	$v0,$v0,0x1
	beq	$v0,$zero,$L43
	b	$L42
$L43:
	lw	$a0,64($fp)
	la	$t9,fgetc
	jal	$ra,$t9
	sw	$v0,32($fp)
	lw	$v1,32($fp)
	li	$v0,-1			# 0xffffffffffffffff
	beq	$v1,$v0,$L41
	lw	$v0,76($fp)
	sw	$v0,16($sp)
	lw	$a0,68($fp)
	la	$a1,$LC18
	lw	$a2,40($fp)
	lw	$a3,32($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	lw	$v0,36($fp)
	addu	$v0,$v0,1
	sw	$v0,36($fp)
	lw	$v1,72($fp)
	lw	$v0,36($fp)
	bne	$v1,$v0,$L41
	lw	$a0,68($fp)
	la	$a1,$LC19
	la	$t9,fprintf
	jal	$ra,$t9
	sw	$zero,36($fp)
	b	$L41
$L42:
	move	$v0,$zero
	move	$sp,$fp
	lw	$ra,56($sp)
	lw	$fp,52($sp)
	addu	$sp,$sp,64
	j	$ra
	.end	codificar
	.size	codificar, .-codificar
	.rdata
	.align	3
$LC20:
	.word	0
	.word	1075838976
	.text
	.align	2
	.globl	octalADecimal
	.ent	octalADecimal
octalADecimal:
	.frame	$fp,56,$ra		# vars= 16, regs= 3/0, args= 16, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,56
	.cprestore 16
	sw	$ra,48($sp)
	sw	$fp,44($sp)
	sw	$gp,40($sp)
	move	$fp,$sp
	sw	$a0,56($fp)
	sw	$zero,24($fp)
	sw	$zero,32($fp)
$L47:
	lw	$v0,56($fp)
	bgtz	$v0,$L49
	b	$L48
$L49:
	lw	$a0,56($fp)
	li	$v0,1717960704			# 0x66660000
	ori	$v0,$v0,0x6667
	mult	$a0,$v0
	mfhi	$v0
	sra	$v1,$v0,2
	sra	$v0,$a0,31
	subu	$v1,$v1,$v0
	move	$v0,$v1
	sll	$v0,$v0,2
	addu	$v0,$v0,$v1
	sll	$v0,$v0,1
	subu	$v0,$a0,$v0
	sw	$v0,28($fp)
	lw	$a0,56($fp)
	li	$v0,1717960704			# 0x66660000
	ori	$v0,$v0,0x6667
	mult	$a0,$v0
	mfhi	$v0
	sra	$v1,$v0,2
	sra	$v0,$a0,31
	subu	$v0,$v1,$v0
	sw	$v0,56($fp)
	l.d	$f2,$LC20
	l.s	$f0,24($fp)
	cvt.d.w	$f0,$f0
	mov.d	$f12,$f2
	mov.d	$f14,$f0
	la	$t9,pow
	jal	$ra,$t9
	trunc.w.d $f0,$f0,$v0
	lw	$v0,28($fp)
	mfc1	$a0,$f0
	mult	$a0,$v0
	mflo	$v1
	lw	$v0,32($fp)
	addu	$v0,$v0,$v1
	sw	$v0,32($fp)
	lw	$v0,24($fp)
	addu	$v0,$v0,1
	sw	$v0,24($fp)
	b	$L47
$L48:
	lw	$v0,32($fp)
	move	$sp,$fp
	lw	$ra,48($sp)
	lw	$fp,44($sp)
	addu	$sp,$sp,56
	j	$ra
	.end	octalADecimal
	.size	octalADecimal, .-octalADecimal
	.rdata
	.align	2
$LC21:
	.ascii	"%c\000"
	.text
	.align	2
	.globl	decodificar
	.ent	decodificar
decodificar:
	.frame	$fp,72,$ra		# vars= 32, regs= 3/0, args= 16, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,72
	.cprestore 16
	sw	$ra,64($sp)
	sw	$fp,60($sp)
	sw	$gp,56($sp)
	move	$fp,$sp
	sw	$a0,72($fp)
	sw	$a1,76($fp)
	sw	$a2,80($fp)
	sw	$a3,84($fp)
	li	$v0,3			# 0x3
	sw	$v0,28($fp)
$L51:
	lw	$v0,72($fp)
	lhu	$v0,12($v0)
	srl	$v0,$v0,5
	andi	$v0,$v0,0x1
	beq	$v0,$zero,$L53
	b	$L52
$L53:
	sw	$zero,24($fp)
$L54:
	lw	$v0,24($fp)
	lw	$v1,28($fp)
	slt	$v0,$v0,$v1
	bne	$v0,$zero,$L57
	b	$L55
$L57:
	lw	$a0,72($fp)
	la	$t9,fgetc
	jal	$ra,$t9
	sw	$v0,40($fp)
	lw	$v1,40($fp)
	li	$v0,10			# 0xa
	bne	$v1,$v0,$L58
	b	$L55
$L58:
	lw	$v1,40($fp)
	li	$v0,-1			# 0xffffffffffffffff
	beq	$v1,$v0,$L59
	lw	$v1,40($fp)
	li	$v0,10			# 0xa
	beq	$v1,$v0,$L59
	addu	$v1,$fp,32
	lw	$v0,24($fp)
	addu	$v1,$v1,$v0
	lbu	$v0,40($fp)
	sb	$v0,0($v1)
	b	$L56
$L59:
	sw	$zero,48($fp)
	b	$L50
$L56:
	lw	$v0,24($fp)
	addu	$v0,$v0,1
	sw	$v0,24($fp)
	b	$L54
$L55:
	lw	$v1,40($fp)
	li	$v0,10			# 0xa
	bne	$v1,$v0,$L61
	b	$L51
$L61:
	addu	$v0,$fp,32
	move	$a0,$v0
	la	$t9,atoi
	jal	$ra,$t9
	sw	$v0,40($fp)
	lw	$a0,40($fp)
	la	$t9,octalADecimal
	jal	$ra,$t9
	sw	$v0,44($fp)
	lw	$a0,76($fp)
	la	$a1,$LC21
	lw	$a2,44($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	lw	$a0,84($fp)
	la	$a1,$LC0
	la	$t9,strcmp
	jal	$ra,$t9
	beq	$v0,$zero,$L51
	sw	$zero,24($fp)
$L63:
	lw	$a0,84($fp)
	la	$t9,strlen
	jal	$ra,$t9
	lw	$v1,24($fp)
	sltu	$v0,$v1,$v0
	bne	$v0,$zero,$L66
	b	$L51
$L66:
	lw	$a0,72($fp)
	la	$t9,fgetc
	jal	$ra,$t9
	sw	$v0,40($fp)
	lw	$v0,24($fp)
	addu	$v0,$v0,1
	sw	$v0,24($fp)
	b	$L63
$L52:
	sw	$zero,48($fp)
$L50:
	lw	$v0,48($fp)
	move	$sp,$fp
	lw	$ra,64($sp)
	lw	$fp,60($sp)
	addu	$sp,$sp,72
	j	$ra
	.end	decodificar
	.size	decodificar, .-decodificar
	.ident	"GCC: (GNU) 3.3.3 (NetBSD nb3 20040520)"
